This invention relates to Random Access Memory (RAM), and more particularly, to a method for accessing different banks of dynamic RAM. One of the most popular types of RAM is Dynamic Random Access Memory (DRAM). Much attention has been paid to methods for accessing (reading from or writing to) DRAMs. The main concern is speed of access. The dominant limitation on access speed is the need to precharge the RAM before starting an access.
Access speed is greatly increased by accessing more of the RAM using a single precharge, a technique called page mode addressing. In page mode addressing, a block of data words (two or more) has the same row address for each word. Accessing the block involves charging only the column addresses of the data words in the block, not the fixed row address, thus saving on the need to precharge before continuing the access.
Refreshing and precharging in a timely and efficient manner is accomplished by interleaving blocks of data into two separate banks of DRAMS. In this manner, while one DRAM bank is being accessed, the other bank could be safely refreshed or precharged, thereby eliminating (or at least reducing) dead time. Ideally, data would be accessed from the one bank in blocks long enough that refreshing or precharging of the other bank could be finished. In practice, however, this does not always occur because RAM memory systems typically lack a provision for selecting which particular bank to refresh.
These two methods can be combined, as disclosed in U.S. Pat. No. 5,274,788. This patent discloses a RAM memory system in which contiguous memory address locations are interleaved, on a single page basis, between two DRAM banks.
While the combined technique of '788 patent is generally adequate, it is most effective when handling access to a linear sequence of data blocks that are read out of DRAM in essentially the same order as they were written into the DRAM (e.g., cache memory systems). In some applications, however, data blocks are actually related to each other in two (or more) dimensions (e.g., digital video). There is therefore a need for a memory system that interleaves between banks in a manner that takes into account the multi-dimensional relationship between the data blocks.